Fix a crash at startup in the directfb backend
authorMatthias Clasen <mclasen@redhat.com>
Tue, 23 Feb 2010 17:54:00 +0000 (12:54 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 23 Feb 2010 17:54:00 +0000 (12:54 -0500)
Patch by AndrĂ© Draszik, bug 600789

gdk/directfb/gdkwindow-directfb.c

index 99419f4feb6bdd2071bcf0064ed1c1f83b95a333..8e67680f7e12fddb96799885de3a769d08435eee 100644 (file)
@@ -306,8 +306,11 @@ _gdk_windowing_window_init (void)
   _gdk_display->layer->GetConfiguration (_gdk_display->layer, &dlc);
 
   _gdk_parent_root = g_object_new (GDK_TYPE_WINDOW, NULL);
+
   private = GDK_WINDOW_OBJECT (_gdk_parent_root);
   private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
+  private->impl_window = private;
+
   impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
 
   private->window_type = GDK_WINDOW_ROOT;
@@ -344,6 +347,9 @@ _gdk_windowing_window_init (void)
   }
   impl->drawable.surface->GetPixelFormat(impl->drawable.surface,&impl->drawable.format);
   private->depth = DFB_BITS_PER_PIXEL(impl->drawable.format);
+
+  _gdk_window_update_size (_gdk_parent_root);
+
   /*
        Now we can set up the system colormap
   */
@@ -583,7 +589,7 @@ _gdk_window_impl_new (GdkWindow     *window,
   private->x = (attributes_mask & GDK_WA_X) ? attributes->x : 0;
   private->y = (attributes_mask & GDK_WA_Y) ? attributes->y : 0;
 
-  parent_private = private->parent;
+  parent_private = GDK_WINDOW_OBJECT (real_parent);
   parent_impl = GDK_WINDOW_IMPL_DIRECTFB (parent_private->impl);
 
   private->parent = parent_private;